#ifndef  APP_CMD_UTIL_H
#define  APP_CMD_UTIL_H

/* Macro */
//[cfg_cmd_id][cfg_cmd_data]
// Input
#define  CFG_CMD_STATUS       0x00
#define  CFG_CMD_CHANNEL      0x01
#define  CFG_CMD_START        0x02
#define  CFG_CMD_SCAN         0x03
#define  CFG_CMD_WLIST        0x04

#define  CFG_CMD_NWK_START    0x82
#define  CFG_CMD_BEACON       0x83
#define  CFG_CMD_NODE_JOIN    0x84
#define  CFG_CMD_DEVICE_JOIN  0x85
#define  CFG_CMD_PERMIT       0x86

#define  COORD_STA_IDLE       0x00
#define  COORD_STA_NET        0x01
#define  COORD_STA_OPEN       0x02
#define  COORD_STA_CLOSE      0x03

#define  JOIN_MODE_TC         0x00
#define  JOIN_MODE_JOIN       0x01
#define  JOIN_MODE_REJOIN     0x02

/* Function */
void cmdCfg_CoordStartNotify(uint8_t sta, uint8_t channel, uint16_t panId);
void cmdCfg_BeaconIndNotify(uint16_t panId, uint16_t nodeId, uint8_t channel);
void cmdCfg_ScanEnd(void);

void cmdCfg_NodeJoinNotify(uint8_t* mac, uint16_t nodeId, uint8_t mode, uint8_t type);
void cmdCfg_DevJoinNotify(mfgDevSn_t sn, mfgDevAddr_t dev, uint16_t profile, uint16_t devId, 
                         uint8_t inNum, uint16_t *inCluster, uint8_t outNum, uint16_t *outCluster);
void cmdCfg_PermitJoinNotify(uint8_t time);

#endif
